package 常用API.StringBuilder;

public class Test {
    public static void main(String[] args) {
        //目标: 搞清楚StringBuilder的用法和作用
        //创建
        StringBuilder s = new StringBuilder();//s里面为空
        StringBuilder s1 = new StringBuilder("ithema");//s1里面不为空,为ithema

        //1.拼接内容(可以拼接任意内容)
        s.append(12);
        s.append("heima");
        s.append(true);
//        Cat cat = new Cat();
//        s.append(Cat)这样是不可以的
        //支持链式结构
        s.append(66).append("heima").append(666);//在调用append时他会返回拼接后的结果

        //2. 反转操作
        System.out.println(s.reverse());//反转字符原来的顺序
        System.out.println(s);
        //3. 返回字符串的长度
        System.out.println(s.length());

        //4. 把StringBuilder对象又转化为String类型(为什么要转回,因为有些数据必须要String类型)
        String rs = s.toString();
        System.out.println(rs);//一样的
        System.out.println(s);//一样的

        //注意,很多时候会疑惑,为什么要用StringBuilder,而不直接用String
        //因为StringBuilder效率比String高

        //StringBuilder与StringBuffer的区别
        //1. 其实两者用法完全相同
        //2. 但是StringBuilder时线程不安全的 而StringBuffer是线程安全的
    }
}
